const tools = require('./tools.js');

function hangUp(app, hangUpTime, likeCount, screenTakenCount, screenTakenTime) {
    console.log("开始直播间挂机操作");
    switch (app) {
        case 0:
            // 抖音
            dyHangUp(hangUpTime, likeCount, screenTakenCount, screenTakenTime);
            break;
        case 1:
            // 快手
            ksHangUp(hangUpTime, likeCount, screenTakenCount, screenTakenTime);
            break;
        default:
            toast("未知操作");
    }
}

function ksHangUp(hangUpTime, likeCount, screenTakenCount, screenTakenTime){
    threads.start(function() {
        //获取无障碍服务
        auto.waitFor();
        console.show(true);
        //console.setSize(500, 500);
        console.setPosition(0, 1500);
        console.setTitle("控制台","#ff11ee00",30);
        console.setCanInput(false);
        // 获取截图权限截图
        tools.getScreenCapture();
        launchApp("快手");
        console.log("自动打开快手,请进入直播间");
        //判断是否进入直播
        id("live_audience_count_text").waitFor();
        id("live_close").waitFor();
        console.log("检测到进入直播间,10秒后开始执行程序");
        //等待10s
        sleep(10000);
        //定时任务执行
        console.log("开始执行程序");
        for(var i = 1; i <= likeCount; i++){
            tools.clicks(
                300 + Math.floor(Math.random() * 251), // 生成 x 坐标为 400 到 500 之间的随机数
                800 + Math.floor(Math.random() * 251)  // 生成 y 坐标为 900 到 1000 之间的随机数
            );
            console.log("第"+i+"次点赞");
            // 生成 sleep 时间为 100 到 300 毫秒之间的随机数
            var sleepTime = 100 + Math.floor(Math.random() * 150); 
            sleep(sleepTime);
        };
        for(var count = 1;count <= screenTakenCount;count++){
            //开始点赞，点赞完成截图
           
            //点开人员界面进行截图
            id("live_audience_count_text").findOne().click();
            console.log("隐藏控制台进行截图");
            console.hide();
            sleep(2000);
            tools.ScreenCapture();
            sleep(5000);
            //返回直播间
            id("live_audience_count_text").findOne().click();
            console.show(true);
            console.log("第"+count+"次截图完成,共"+screenTakenCount+"次");
            // 次数完成后停止运行
            if(count ==screenTakenCount){
                exit();
            }
            sleep(screenTakenTime*60*1000);
        };

        // 时间到关闭程序
        setTimeout(() => {
            console.log("总执行时间到，程序终止");
            exit();
        }, (hangUpTime+5) * 60 * 1000);
    });
};

function dyHangUp(hangUpTime, likeCount, screenTakenCount, screenTakenTime){
    threads.start(function() {
        //获取无障碍服务
        auto.waitFor();
        console.show(true);
        //console.setSize(500, 500);
        console.setPosition(0, 1500);
        console.setTitle("控制台","#ff11ee00",30);
        console.setCanInput(false);
        // 获取截图权限截图
        tools.getScreenCapture();
        launchApp("抖音");
        console.log("自动打开抖音,请进入直播间");
        //判断是否进入直播
        id("os0").waitFor();
        id("root").waitFor();
        console.log("检测到进入直播间,5秒后开始执行程序");
        //等待5s
        sleep(5000);
        //定时任务执行
        console.log("开始执行程序，开始点赞");
        for(var i = 1; i <= likeCount; i++){
          //  if(id("os0").exists()||id("f67").exists()||id("f+q").exists()){
            tools.clicks(
                300 + Math.floor(Math.random() * 251), // 生成 x 坐标为 400 到 500 之间的随机数
                800 + Math.floor(Math.random() * 251)  // 生成 y 坐标为 900 到 1000 之间的随机数
            );
            console.log("第"+i+"次点赞");
            // 生成 sleep 时间为 100 到 300 毫秒之间的随机数
            var sleepTime = 100 + Math.floor(Math.random() * 150); 
            sleep(sleepTime);
        //}else{
        //    toast("检测到退出直播间，程序结束");
        //    exit();
       // }
    };

        for(var count = 1;count <= screenTakenCount;count++){
            //点赞完成截图
            //id("p=h").findOne().click();
            //className("android.widget.RelativeLayout").depth(1).selected(false).clickable(true).click();
            tools.clicks(992,164);
            //点开人员界面进行截图
            console.log("隐藏控制台进行截图");
            console.hide();
            sleep(2000);
            //点击成员
            tools.ScreenCapture();
            sleep(2000);
            //返回直播间
            for (let i = 0; i < 3; i++) {
                tools.clicks(300,800);
                //sleep(1000);
            };
            console.show(true);
            console.log("第"+count+"次截图完成,共"+screenTakenCount+"次");
            // 次数完成后停止运行
            if(count ==screenTakenCount){
                exit();
            }
            sleep(screenTakenTime*60*1000);
        };

        // 时间到关闭程序0
        setTimeout(() => {
            console.log("总执行时间到，程序终止");
            exit();
        }, (hangUpTime+5) * 6 * 1000);
    });
}


// // 导出函数
module.exports = {
    hangUp: hangUp,
    ksHangUp: ksHangUp
};
